<?php
/**
*date: 2016年9月23日
*/
namespace app\common\controller;
use think\Db;
class AdminBase extends Base {
    protected function _initialize() {
       //dump(session('user_auth'));
       if(!session('user_auth.uid')){
           $this->redirect('admin/Login/login');
       }
       
       if(session('user_auth.username')!==config('administrator')){
           $auth = new \auth\Auth();
           //dump($auth->check(strtolower(request()->controller()).'/'.request()->action(),session('user_auth.uid')));
           if(!$auth->check(strtolower(request()->controller()).'/'.request()->action(), session('user_auth.uid'))){
             // $this->success("ssss");
              $this->error('没有权限！');
           }           
       }
       //取得登录用户信息
       $user_info=Db::name('user')->where('username',session('user_auth.username'))->find();
        $this->assign('user_info',$user_info);
    }
    /**
     * 非树
     * */
		static function tree($items,$leftstr="-",$pid=0,$lvl=0,$leftspace=0){
		    $arr=array();
		    foreach ($items as $v){
		        if($v['pid']==$pid){
		            $v['lvl']=$lvl + 1;
		            $v['leftspace']=$leftspace + 0;//左边距
		            $v['leftstr']=str_repeat($leftstr,$lvl);
		            $arr[]=$v;
		            $arr= array_merge($arr,self::tree($items,$leftstr,$v['id'],$lvl+1 , $leftspace+20));
		        }
		    }
		    return $arr;
		}
		/**
		 * tree
		 * **/
		public function trees($items){
		    $tree=array();//格式化得树
		    $tmpMap=array();//交换树
		    $id = 'id';
		    $pid = 'pid';
		    $son = 'sub';
		    foreach ( $items as $item ) {
		        $tmpMap[$item[$id]] = array (
		            'id' => $item[$id],
		            'title' => $item['title'],	
		            'pid' => $item['pid'],
		        );
		    }
		    
		    foreach ( $items as $item ) {
		        if (isset($tmpMap[$item[$pid]])) {
		            $tmpMap[$item[$pid]][$son][] = &$tmpMap[$item[$id]];
		        } else {
		            $tree[] = &$tmpMap[$item[$id]];
		        }
		    }
		    return $tree;
		    
		}
		// 定义一个函数获取客户端IP地址
		public function getIP(){
		    global $ip;
		    if (getenv("HTTP_CLIENT_IP")){
		        $ip=getenv("HTTP_CLIENT_IP");
		    }else if(getenv("HTTP_X_FORWARDED_FOR")){
		        $ip=getenv("HTTP_X_FORWARDED_FOR");
		    }else if (getenv("REMOTE_ADDR")){
		        $ip=getenv("REMOTE_ADDR");
		    }else{
		        $ip="127.0.0.2";
		    }
		    return $ip;
		}
}
?>